Subject: Part II: future of E
From: Wouter van Oortmerssen <[email-masked]>
To: [email-masked]
Date: Sat, 24 Jul 1993 03:48:30 +0200

Hello All,
 
I feel like it would be nice to keep sharing with you all the
new developments that lead up to v2.5, as features become reality.
earlier I outlined the new features of v2.3g, I'll now let you all
in on new developments in the interim version v2.4a (not for release).
 
So what's new in v2.4? They main keyword here is "code optimisations".
that's right, lot's of new functions have been build into EC to
produce radically better code from your sources. Some of you we're
already very impressed by the code generated by v2.1b (or atleast
satisfied with it :-), but v2.4b greatly improves on this.
 
As demonstated very well by Son Le some mails back, there are
extreme situations in which EC v2.1b could deliver much worse code
than, for example, SAS/C with full optimisation on. The reason
for this is twofold, and both are largely remedied by v2.4:
 
- v2.1b did not put variables in registers, thus code that depends
  largely on the time needed to access a variabele would be slower.
  v2.4 allows to put upto 5 variables per PROC in registers,
  thus giving an enormous speedup in tight loops.
 
- v2.1b did only little checks to see if it could optimize instructions
  away. v2.4 now tries various ways to write the code different,
  reorganise it, or remove it alltogether. also it optimizes on
  function calls etc., by directly moving certain types of
  expressions in registers. This both reduces code size, and increases
  speed of executables. with the new OPT 020, it can do even more.
 
result is code that is very tight, and often code that can hardly
be improved by hand-optimisations, nor beaten by other top-amiga
compilers. And the fun thing is, that good code generation and
and global optimising often can slow compilers down, but EC v2.4 still
is much faster than v2.1b!
 
Hope this gives you all yet another nice idea of what's coming,
 
Wouter.
 
   ____  Wouter van Oortmerssen, [email-masked]
  / __/  "Einen Satz verstehen, heisst, wissen was der Fall ist,
 / __/    wenn er wahr ist" - Wittgenstein
/___/  ->subscribe to the E mailing list: [email-masked]<-